package com.arkisv.common.util;

import java.io.UnsupportedEncodingException;

import net.sf.json.JSONObject;

/**
 * 字符串处理工具
 * @ClassName: StringUtil
 * @Description: 字符串工具
 * @author King@zhixianren.com
 * @date 2016年1月22日 上午11:27:18
 */
public class StringUtil {
	/**
	 * 判断字符是否为空，null 或 “” 返回true
	 * @mehtod: isBlank  
	 * @Description: TODO
	 * @param str
	 * @return  boolean     
	 * @author King@zhixianren.com
	 * @date 2016年1月22日 上午11:27:39
	 */
	public static boolean isBlank(String str){
		if(str == null || "".equals(str)){
			return true;
		}
		return false;
	}
	/**
	 * 判断字符为非空
	 * @mehtod: isNotBlank  
	 * @Description: TODO
	 * @param str
	 * @return  boolean     
	 * @author King@zhixianren.com
	 * @date 2016年1月22日 上午11:28:24
	 */
	public static boolean isNotBlank(String str){
		return !isBlank(str);
	}
	/**
	 * 判断对象是空，对象为null或“”返回true
	 * @mehtod: isBlank  
	 * @Description: TODO
	 * @param obj
	 * @return  boolean     
	 * @author King@zhixianren.com
	 * @date 2016年1月22日 上午11:28:35
	 */
	public static boolean isBlank(Object obj){
		if(obj == null || "".equals(obj.toString())){
			return true;
		}
		return false;
	}
	/**
	 * 判断对象非空
	 * @mehtod: isNotBlank  
	 * @Description: TODO
	 * @param obj
	 * @return  boolean     
	 * @author King@zhixianren.com
	 * @date 2016年1月22日 上午11:29:18
	 */
	public static boolean isNotBlank(Object obj){
		return !isBlank(obj);
	}
	/**
	 * 将对象Object转成字符串String
	 * @mehtod: toString  
	 * @Description: TODO
	 * @param obj
	 * @return  String     
	 * @author King@zhixianren.com
	 * @date 2016年1月22日 上午11:29:30
	 */
	public static String toString(Object obj){
		if(obj != null){
			return obj.toString();
		}
		return "";
	}
	/**
	 * 字符串转码,将浏览器传送过来的中文编码转换成出来
	 * @param str
	 * @return 中文
	 * @throws UnsupportedEncodingException
	 */
	public static String decode(String str) throws UnsupportedEncodingException{
	    return java.net.URLDecoder.decode(str, "utf-8");
	}
	
	public static String convertObjectToString(Object o){
	    JSONObject jsonObject = JSONObject.fromObject(o);
	    return jsonObject.toString();
	}
	
	public static String replace(String str){
		StringBuilder strBuilder = new StringBuilder();
		strBuilder.append(str.substring(0, 6));
		for (int i = 6; i < str.length()-4; i++) {
			strBuilder.append("*");
		}
		strBuilder.append(str.substring(str.length()-4, str.length()));
		return strBuilder.toString();
	}
}
